package com.jerry.basic.thread;

public class HelloThreadSynchronizedRun implements Runnable {
/*
 * 采用同步的话，可以使用同步代码块和同步方法两种来完成。
 * 【同步代码块】：
 * 语法格式：
 * synchronized（同步对象）{
       //需要同步的代码
 * }
 * 但是一般都把当前对象this作为同步对象。
 */
	public void run() {
        for(int i=0;i<10;++i){
            synchronized (this) {
                if(count>0){
                    try{
                        Thread.sleep(1000);
                    }catch(InterruptedException e){
                        e.printStackTrace();
                    }
                    System.out.println(count--);
                }
            }
        }
    }
 
    public static void main(String[] args) {
    	HelloThreadSynchronizedRun he=new HelloThreadSynchronizedRun();
        Thread h1=new Thread(he);
        Thread h2=new Thread(he);
        Thread h3=new Thread(he);
        h1.start();
        h2.start();
        h3.start();
    }
    private int count=5;

}
